<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Ajax-02</title>
</head>
<body>
<div>
    <fieldset>
        <legend>Ajax 异步请求</legend>
        <form enctype="application/x-www-form-urlencoded">
            <input type="text" name="name" id="nameId" onblur="doCheck()"/>
            <button type="button" onclick="doSave()">Save</button>
        </form>
        <span id="result"></span>
    </fieldset>
</div>
<script>

    function doSave(){//发送异步请求，检查name是否存在
        //1、创建xhr对象
        let xhr=new XMLHttpRequest();
        //2、设置状态监听(不是必须的，但假如要获取服务端响应的结果并进行处理就要进行状态监听)
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4&&xhr.status==200){
                document.getElementById("result").innerHTML=xhr.responseText;
            }
        }
        //3、建立Get连接(get请求传参要将参数拼接到url中)
        //获取表单中name对应的value属性值
        let name=document.forms[0].name.value;
        //let name=document.getElementById("nameId").value;//基于节点id获取
        console.log("name",name);
        let url="http://localhost/doSave";//通过模板字符串``和${}表示拼接url
        xhr.open("POST",url,true);
        //post请求假如需要向服务器传送参数，则必须在open之后设置请求头
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        //4、发送异步POST请求
        xhr.send(`name=${name}`);
    }
    function doCheck(){//发送异步请求，检查name是否存在
        //1、创建xhr对象
        let xhr=new XMLHttpRequest();
        //2、设置状态监听(不是必须的，但假如要获取服务端响应的结果并进行处理就要进行状态监听)
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4&&xhr.status==200){
                document.getElementById("result").innerHTML=xhr.responseText;
            }
        }
        //3、建立Get连接(get请求传参要将参数拼接到url中)
        let name=document.forms[0].name.value;//获取表单中name对应的value属性值
        //let name=document.getElementById("nameId").value;//基于节点id获取
        //let name=document.querySelector("#nameId").value;//基于id选择器（前缀”#“）
        //let name=document.querySelector(".mingzi").value;//基于class选择器（前缀“.”）
        //let name=document.querySelector("input").value;
        console.log("name",name);
        let url=`http://localhost/doCheck?name=${name}`;//通过模板字符串``和${}表示拼接url
        xhr.open("GET",url,true);
        //4、发送异步请求
        xhr.send(null);
    }
</script>
</body>
</html>